Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lispworks feature fix #128

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

rwiker
Copy link
Contributor

@rwiker rwiker commented Nov 8, 2022

Simplified Lispworks-specific code:

  • Introduced two new features, :lw-simple-char and :lw-use-comm. These indicate whether to use lw:simple-char instead of cl:character, and whether to use the comm package instead of cl+ssl.
  • These features (and the pre-existing :lw-does-not-have-write-timeout) are only present during a quicklisp compile, but can be added statically for the current session when working on the code.
  • Added ssl verification for Lispworks, when using the comm package.

Tested on macos Ventura on Intel Macbook, with Lispworks 7.1.3 and 8.0.1. Also tested using SBCL 2.2.9.

@phoe
Copy link

phoe commented Nov 8, 2022 via email

@rwiker
Copy link
Contributor Author

rwiker commented Nov 8, 2022 via email

@rwiker
Copy link
Contributor Author

rwiker commented Nov 11, 2022 via email

@rwiker
Copy link
Contributor Author

rwiker commented Nov 11, 2022 via email

@svenemtell
Copy link

svenemtell commented Nov 15, 2022

I think the changes look good and I tested the rwiker:lispworks-feature-fix branch together with the latest chunga quicklisp version (chunga-20221106-git) on my Apple M1 Max with macOS 12.6.1 and LWM 8.0.1. It worked fine!

It would be great to have this in a new Drakma release in Quicklisp!

@svenemtell
Copy link

Wait a second!
I just noticed that there is a problem in drakma.asd.
The :around-compile function is run when each of the :components is compiled, but not when the dependencies in :depends-on are resolved. Therefore :lw-use-comm is not set in the following code and cl+ssl will always be compiled for LispWorks even though it will not be used.

My suggested solution is that:

#-(or :lw-use-comm (and :allegro (not :allegro-cl-express)) :mocl-ssl :drakma-no-ssl)
:cl+ssl)

is changed to:

#-(or (and lispworks (not (or lispworks4 lispworks5 lispworks6))) (and :allegro (not :allegro-cl-express)) :mocl-ssl :drakma-no-ssl)
:cl+ssl)

Another solution could have been to run the setup-lw-features function before the defsystem and keep :lw-use-comm in :depends-on but that would put the unnecessary litter :lw-use-comm in *features*.

@rwiker
Copy link
Contributor Author

rwiker commented Nov 16, 2022 via email

@svenemtell
Copy link

svenemtell commented Nov 22, 2023

Is there anything missing for this PR to make it into a QuickLisp release?
I saw that 2.0.10 was released and it would have been great to have this PR in there so that we LispWorks users don't need to make local changes...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants